home *** CD-ROM | disk | FTP | other *** search
- property inited, meSprite, meMember, firstPos, placed, meFlashSprite
- global gmObject, autoMoveObject
-
- on beginSprite me
- inited = 0
- end
-
- on exitFrame me
- if inited = 0 then
- inited = 1
- placed = 0
- meSprite = sprite(me.spriteNum)
- meMember = meSprite.member
- meFlashSprite = sprite(me.spriteNum + 6)
- autoPlace(me)
- firstPos = meSprite.loc
- reportSprites(gmObject, me.spriteNum + 6, "trainSprites")
- end if
- end
-
- on autoPlace me
- sound(1).play(member("swish", 1))
- autoMove(autoMoveObject, meSprite, point(370, 111))
- end
-
- on mouseDown me
- if placed = 0 then
- originLocZ = meSprite.locZ
- meSprite.locZ = 155
- mPos = the mouseLoc - firstPos
- repeat while the mouseDown
- meSprite.loc = the mouseLoc - mPos
- updateStage()
- end repeat
- meSprite.locZ = originLocZ
- end if
- end
-
- on mouseUp me
- if placed = 0 then
- repeat with n = gmObject.railSprites[1] to gmObject.railSprites[11]
- if rollover(sprite(n)) then
- val = gmObject.getTrainLoc(the mouseLoc)
- if val[1] = 0 then
- exit repeat
- next repeat
- end if
- meLoc = val[1]
- meRot = val[2]
- meFrame = val[3]
- placed = 1
- exit repeat
- end if
- end repeat
- if placed = 0 then
- autoMove(autoMoveObject, meSprite, firstPos)
- else
- sound(1).play(member("place", 1))
- autoMove(autoMoveObject, meSprite, meLoc, meRot)
- meFlashSprite.gotoFrame(meFrame)
- meFlashSprite.member.fixedRate = 0
- meFlashSprite.loc = point(400, 300)
- meSprite.loc = point(1400, 1300)
- gmObject.order()
- go(the frame + 1)
- end if
- end if
- end
-
- on mouseEnter me
- cursor([500, 501])
- end
-
- on mouseLeave me
- cursor(0)
- end
-
- on endSprite me
- cursor(0)
- end
-